import sys
user = {}
admin = {"用户名": "root", "密码": 123456}
admin = dict(admin,**user)
def menu1():
    print("欢迎进入用户购物登录系统".center(50,"="))
    username = input("请输入你的用户名:")
    passwd = int(input("请输入你的用户密码:"))
    if (username == admin["用户名"] and passwd == admin["密码"]) or (username == user["普通用户"] and passwd == user["密码"]):
        print("欢迎进入三乐购物系统".center(50,"="))
    else:
        print("您输入有误,请重新输入！")
        main()
def menu2():
    print("欢迎进入用户购物注册系统".center(52,"="))
    add_username = input("请输入您要注册的用户:")
    add_passwd = int(input("请输入您要注册的密码:"))
    user["普通用户"] = add_username
    user["密码"] = add_passwd
    print("注册成功".center(64,"="))
data2 = []
def execute_buy():
    print("欢迎进入购买系统".center(48, "="))
    buy_message = float(input("请输入购物花费的预算价格:"))

    def menu3(money):
        data1 = {'F0001': {'商品名称': '香蕉', '商品价格': 1.5},
                 'F0002': {'商品名称': '苹果', '商品价格': 2.5},
                 'F0003': {'商品名称': '鱼', '商品价格': 5.0},
                 'F0004': {'商品名称': '鸡蛋', '商品价格': 3.0}, }
        print(f"请以{data1}中编码挑选商品(例如:'F0001')")
        if money > 0.0:
            a = input("请输入要购买的商品编号:")
            data3 = data1[f"{a}"]
            if money >= data3['商品价格']:
                # global data2
                data3 = data1[f"{a}"]
                data2.append(data3)
                money = money - data3['商品价格']
                goods = data3['商品名称']
                goods_price = data3['商品价格']
                print(f"您购买了{goods},消费了{goods_price}元,您的余额还剩{money}元")
            else:
                print(f"您的余额不足,请尽快充值,您的余额还剩{money}元")
                choice4 = int(input("请输入你的选择,按1进入充值系统,按2退出购物系统"))
                if choice4 == 1:
                    print("欢迎进入充值系统".center(38, "="))
                    add_money = float(input("请输入你要充值的金额:"))
                    money += add_money
                    print(f"您已充值成功,充值金额为{add_money},您当前余额为{money}")
                    menu3(money)
                elif choice4 == 2:
                    print("已退出三乐购物系统,欢迎下次购买".center(46, "="))
                    sys.exit(0)

        elif money <= 0.0:
            print(f"您的余额不足,请尽快充值,您的余额还剩{money}元")
            choice4 = int(input("请输入你的选择,按1进入充值系统,按2退出购物系统"))
            if choice4 == 1:
                print("欢迎进入充值系统".center(38, "="))
                add_money = float(input("请输入你要充值的金额:"))
                money += add_money
                print(f"您已充值成功,充值金额为{add_money},您当前余额为{money}")
                menu3(money)
            elif choice4 == 2:
                print("已退出三乐购物系统,欢迎下次购买".center(46, "="))
                sys.exit(0)

        def menu4(choice1):
            if choice1 == 1:
                print("已列出商品信息".center(37, "="))
                for i, j in data1.items():
                    n = j['商品名称']
                    p = j['商品价格']
                    print(f"商品编号为:{i},商品名称为:{n},商品价格为:{p}元")
                choice2 = int(input("请输入你的选择,按1返回上一级菜单,按2退出系统:"))
                if choice2 == 1:
                    print("返回上一级菜单,继续购买".center(40, "="))
                    menu3(money=money)
                elif choice2 == 2:
                    print("已退出三乐购物系统,欢迎下次购买".center(46, "="))
                    sys.exit(0)

            elif choice1 == 2:
                print("已列出已购买的商品信息".center(41, "="))
                if money >= 0.0:
                    for a1 in data2:
                        print(a1)
                    print("=====================================================")
                    choice3 = int(input("请输入你的选择,按1返回上一级菜单,按2退出系统:"))
                    if choice3 == 1:
                        print("返回上一级菜单,继续购买".center(40, "="))
                        menu3(money=money)
                    elif choice3 == 2:
                        print("已退出三乐购物系统...".center(50, "="))
                        sys.exit(0)

        t = int(input("按1查看商品信息,按2查看已购买信息:"))
        menu4(choice1=t)

    menu3(money=buy_message)
def main():
        print("1.登录\n2.注册\n3.退出")
        c = int(input("请输入你的选择,按1登录,按2注册,按3退出:"))
        if c == 1:
            menu1()
        elif c == 2:
            menu2()
            main()
        elif c == 3:
            sys.exit(0)
        d = int(input("请输入你的选择,按1进入购买系统,按2返回上一级菜单,按3退出购物系统:"))
        if d == 1:
            execute_buy()
        elif d == 2:
            print("返回上一级菜单".center(47,"="))
            main()
        elif d == 3:
            print("已退出三乐购物系统,欢迎下次购买".center(46, "="))
            sys.exit(0)
main()

